import type {
  EntityApi,
  EntityReq,
  EntityModel,
  EntityPage,
  EntityTotal,
  EntityKey,
} from "jmash-core";

// 运行实例接口
export interface JobInstanceApi extends EntityApi {}

// 运行实例查询
export interface JobInstanceReq extends EntityReq {
  //  分类
  classify?: string;
  //  状态
  state?: string;
  //  是否包含状态
  hasState?: boolean;
}

// 运行实例实体
export interface JobInstanceModel extends EntityModel {
  //  运行实例
  instanceName?: string;
  //  分类
  classify?: string;
  //  心跳时间
  heartbeat?: string;
  //  过期时间
  dueDate?: string;
  //  状态
  state?: string;
}

// 运行实例分页
export interface JobInstancePage extends EntityPage {
  // 当前页内容
  results: Array<JobInstanceModel>;
  // 本页小计
  subTotalDto: JobInstanceModelTotal;
  // 合计
  totalDto: JobInstanceModelTotal;
}

// 合计
export interface JobInstanceModelTotal extends EntityTotal {
  // 总记录数
  totalSize: number;
}

// 运行实例主键
export interface JobInstanceKey extends EntityKey {
  // 租户
  tenant?: string;
  // 分类
  classify?: string;
  // 运行实例
  instanceName?: string;
}
